# -*- coding:utf-8 -*-
# 作者：NoamaNelson
# 日期：2021/8/25 10:03
# 文件名称：out_report.py
# 作用：测试报告封装
# 联系：VX(NoamaNelson)
# 博客：https://blog.csdn.net/NoamaNelson


import time
import unittest
from BeautifulReport import BeautifulReport as bf
from tools import HTMLTestRunner
from conf import config


def report_out(test_dir, report_name, name_project):
    '''
    :test_dir: 用例路径
    :report_dir : 报告路径
    :name_project : 项目名称=>用于报告命名及描述
    :return: 无
    '''

    now = time.strftime("%Y_%m_%d %H_%M_%S")
    discover = unittest.defaultTestLoader.discover(test_dir,pattern='test*.py')      # 加载测试用例
    with open(report_name,'wb') as f:                                                # 运行用例生成测试报告
        runner = HTMLTestRunner.HTMLTestRunner(stream=f,
                              title=name_project + u'API Auto Testing Report',
                              description=(name_project + config.DESCRIBE),
                              verbosity=2)
        runner.run(discover)
        f.close()

    """
    stream:要操作的文件；
    title：测试报告标题；
    description：报告描述；
    verbosity：报告级别。
    """